package com.star.uc.contract.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 短信费用(高费用国家的展示数据)
 *
 * @author zhouhengzhe
 * @version 1.0
 * @date 2023/10/17 10:25
 */
@Getter
@AllArgsConstructor
public enum PhoneCostEnum {

    NFK("6723", "0.5", "Norfolk Island", "诺福克岛"),
    JM("1876", "0.394", "Jamaica", "牙买加"),
    KN("1869", "0.518", "Saint Kitts and Nevis", "圣基茨和尼维斯"),
    TT("1868", "0.5", "Trinidad and Tobago", "特立尼达和多巴哥"),
    DO("1809", "0.53", "Dominican Republic", "多米尼加共和国"),
    PR("1787", "0.387", "Puerto Rico", "波多黎各"),
    VC("1784", "0.425", "Saint Vincent and The Grenadines", "圣文森特和格林纳丁斯"),
    DM("1767", "0.377", "Dominica", "多米尼克"),
    LC("1758", "0.284", "Saint Lucia", "圣卢西亚"),
    SX("1721", "0.527", "Saint Maarten (Dutch Part)", "圣马丁岛（荷兰部分）"),
    AS("1684", "0.754", "American Samoa", "美属萨摩亚"),
    GU("1671", "0.362", "Guam", "关岛"),
    MI("1670", "0.5", "Mariana lslands", "马里亚纳群岛"),
    MS("1664", "0.393", "Montserrat", "蒙特塞拉特岛"),
    TC("1649", "0.282", "Turks and Caicos Islands", "特克斯和凯科斯群岛"),
    GD("1473", "0.335", "Grenada", "格林纳达"),
    BM("1441", "0.376", "Bermuda", "百慕大群岛"),
    KY("1345", "0.317", "Cayman Islands", "开曼群岛"),
    VG("1340", "0.329", "Virgin Islands, British", "英属维尔京群岛"),
    VI("1284", "0.329", "Virgin Islands, US", "美属维尔京群岛"),
    AG("1268", "0.536", "Antigua and Barbuda", "安提瓜和巴布达"),
    AI("1264", "0.312", "Anguilla", "安圭拉"),
    BB("1246", "0.358", "Barbados", "巴巴多斯"),
    BS("1242", "0.356", "Bahamas", "巴哈马"),
    UZ("998", "0.968", "Uzbekistan", "乌兹别克斯坦"),
    KZ("997", "0.504", "Kazakhstan", "哈萨克斯坦"),
    KG("996", "0.93", "Kyrgyzstan", "吉尔吉斯斯坦"),
    GE("995", "0.8", "Georgia", "格鲁吉亚"),
    AZ("994", "1.307", "Azerbaijan", "阿塞拜疆"),
    TM("993", "0.653", "Turkmenistan", "土库曼斯坦"),
    TJ("992", "1.392", "Tajikistan", "塔吉克斯坦"),
    NP("977", "0.706", "Nepal", "尼泊尔"),
    MN("976", "0.613", "Mongolia", "蒙古"),
    BT("975", "0.782", "Bhutan", "不丹"),
    QA("974", "0.254", "Qatar", "卡塔尔"),
    BH("973", "0.145", "Bahrain", "巴林"),
    IL("972", "0.821", "Israel", "以色列"),
    UAE("971", "0.56", "United Arab Emirates", "阿拉伯联合酋长国"),
    BL("970", "1.116", "Palestine", "巴勒斯坦"),
    OM("968", "0.653", "Oman", "阿曼"),
    YE("967", "0.538", "Yemen", "也门"),
    SA("966", "0.83", "Saudi Arabia", "沙特阿拉伯"),
    KW("965", "0.76", "Kuwait", "科威特"),
    IQ("964", "0.8", "Iraq", "伊拉克"),
    SY("963", "0.763", "Syrian Arab Republic", "叙利亚"),
    JO("962", "0.93", "Jordan", "约旦"),
    LB("961", "0.737", "Lebanon", "黎巴嫩"),
    MV("960", "0.234", "Maldives", "马尔代夫"),
    TW("886", "0.35", "Taiwan (China)", "中国台湾"),
    BD("880", "1.12", "Bangladesh", "孟加拉国"),
    LA("856", "0.28", "Laos", "老挝"),
    KH("855", "0.68", "Cambodia", "柬埔寨"),
    MO("853", "0.183", "Macau (China)", "中国澳门"),
    HK("852", "0.33", "Hong Kong (China)", "中国香港"),
    KP("850", "0.429", "Korea N. Dem.Peoples Rep.", "朝鲜"),
    FSM("691", "0.5", "The Federated States of Micronesia", "密克罗尼西亚"),
    PF("689", "0.855", "French Polynesia", "法属波利尼西亚"),
    NC("687", "1.556", "New Caledonia", "新喀里多尼亚"),
    KI("686", "0.35", "Kiribati", "基里巴斯"),
    WS("685", "0.52", "Samoa", "萨摩亚"),
    CK("682", "0.276", "Cook Islands", "库克群岛"),
    PW("680", "0.587", "Palau", "帕劳"),
    FJ("679", "0.372", "Fiji", "斐济"),
    VU("678", "0.419", "Vanuatu", "瓦努阿图"),
    SB("677", "0.208", "Solomon Islands", "所罗门群岛"),
    TO("676", "0.255", "Tonga", "汤加"),
    PG("675", "0.475", "Papua New Guinea", "巴布亚新几内亚"),
    BN("673", "0.118", "Brunei", "文莱"),
    TL("670", "0.5", "Timor-Leste", "东帝汶"),
    CW("599", "0.443", "Curacao", "库拉索"),
    UY("598", "0.57", "Uruguay", "乌拉圭"),
    SR("597", "0.238", "Suriname", "苏里南"),
    MQ("596", "0.644", "Martinique", "马提尼克"),
    PY("595", "0.21", "Paraguay", "巴拉圭"),
    GF("594", "0.803", "Guiana", "法属圭亚那"),
    EC("593", "0.733", "Ecuador", "厄瓜多尔"),
    GY("592", "0.498", "Guyana", "圭亚那"),
    BO("591", "0.638", "Bolivia", "玻利维亚"),
    GP("590", "1.901", "Guadeloupe", "瓜德罗普岛"),
    HT("509", "0.582", "Haiti", "海地"),
    PM("508", "0.504", "Saint Pierre and Miquelon", "圣彼埃尔和密克隆岛"),
    PA("507", "0.496", "Panama", "巴拿马"),
    CR("506", "0.328", "Costa Rica", "哥斯达黎加"),
    NI("505", "0.498", "Nicaragua", "尼加拉瓜"),
    HN("504", "0.442", "Honduras", "洪都拉斯"),
    SV("503", "0.394", "El Salvador", "萨尔瓦多"),
    GT("502", "0.572", "Guatemala", "危地马拉"),
    BZ("501", "0.542", "Belize", "伯利兹"),
    LI("423", "0.204", "Liechtenstein", "列支敦士登"),
    SK("421", "0.685", "Slovakia", "斯洛伐克"),
    CZ("420", "0.433", "Czech", "捷克"),
    MK("389", "0.208", "Macedonia", "马其顿"),
    BA("387", "0.429", "Bosnia and Herzegovina", "波斯尼亚和黑塞哥维那"),
    SI("386", "0.263", "Slovenia", "斯洛文尼亚"),
    HR("385", "0.549", "Croatia", "克罗地亚"),
    ME("382", "0.421", "Montenegro", "黑山"),
    RS("381", "0.274", "Serbia", "塞尔维亚"),
    UA("380", "0.816", "Ukraine", "乌克兰"),
    SM("378", "0.402", "San Marino", "圣马力诺"),
    MC("377", "0.546", "Monaco", "摩纳哥"),
    AD("376", "0.447", "Andorra", "安道尔"),
    BY("375", "1.053", "Belarus", "白俄罗斯"),
    AM("374", "0.558", "Armenia", "亚美尼亚"),
    MD("373", "0.654", "Moldova", "摩尔多瓦"),
    EE("372", "0.782", "Estonia", "爱沙尼亚"),
    LV("371", "0.398", "Latvia", "拉脱维亚"),
    LT("370", "0.287", "Lithuania", "立陶宛"),
    BG("359", "0.506", "Bulgaria", "保加利亚"),
    FI("358", "0.953", "Finland", "芬兰"),
    CY("357", "0.254", "Cyprus", "塞浦路斯"),
    MT("356", "0.301", "Malta", "马耳他"),
    AL("355", "0.651", "Albania", "阿尔巴尼亚"),
    IS("354", "0.5052", "Iceland", "冰岛"),
    IE("353", "0.565", "Ireland", "爱尔兰"),
    LU("352", "0.32", "Luxembourg", "卢森堡"),
    PT("351", "0.358", "Portugal", "葡萄牙"),
    GI("350", "0.138", "Gibraltar", "直布罗陀"),
    GL("299", "0.084", "Greenland", "格陵兰岛"),
    FO("298", "0.109", "Faroe Islands", "法罗群岛"),
    AW("297", "0.38", "Aruba", "阿鲁巴"),
    ER("291", "0.621", "Eritrea", "厄立特里亚"),
    KM("269", "0.53", "Comoros", "科摩罗"),
    SZ("268", "0.469", "Swaziland", "斯威士兰"),
    BW("267", "0.293", "Botswana", "博茨瓦纳"),
    LS("266", "0.824", "Lesotho", "莱索托"),
    MW("265", "0.85", "Malawi", "马拉维"),
    NA("264", "0.366", "Namibia", "纳米比亚"),
    ZW("263", "0.27", "Zimbabwe", "津巴布韦"),
    RE("262", "1.446", "Réunion Island", "留尼汪"),
    MG("261", "0.8", "Madagascar", "马达加斯加"),
    ZM("260", "0.698", "Zambia", "赞比亚"),
    MZ("258", "0.216", "Mozambique", "莫桑比克"),
    BI("257", "0.692", "Burundi", "布隆迪"),
    UG("256", "0.727", "Uganda", "乌干达"),
    TZ("255", "0.6", "Tanzania", "坦桑尼亚"),
    KE("254", "0.398", "Kenya", "肯尼亚"),
    DJ("253", "0.759", "Djibouti", "吉布提"),
    SO("252", "0.599", "Somalia", "索马里"),
    ET("251", "0.939", "Ethiopia", "埃塞俄比亚"),
    RW("250", "0.465", "Rwanda", "卢旺达"),
    SDN("249", "0.7", "The Republic of the Sudan", "苏丹"),
    SC("248", "0.442", "Seychelles", "塞舌尔"),
    GW("245", "0.671", "Guinea-Bissau", "几内亚比绍共和国"),
    AO("244", "0.301", "Angola", "安哥拉"),
    COD("243", "0.703", "Congo", "扎伊尔"),
    CG("242", "0.496", "Republic Of The Congo", "刚果共和国"),
    GA("241", "0.7", "Gabon", "加蓬"),
    GQ("240", "0.46", "Equatorial Guinea", "赤道几内亚"),
    ST("239", "0.788", "Sao Tome and Principe", "圣多美和普林西比"),
    CPV("238", "0.542", "Cape Verde", "佛得角"),
    CM("237", "0.6", "Cameroon", "喀麦隆"),
    CF("236", "0.434", "Central African Republic", "中非共和国"),
    TD("235", "0.8", "Chad", "乍得"),
    NG("234", "0.912", "Nigeria", "尼日利亚"),
    GH("233", "0.619", "Ghana", "加纳"),
    SL("232", "0.4", "Sierra Leone", "塞拉利昂"),
    LR("231", "0.464", "Liberia", "利比里亚"),
    MU("230", "0.742", "Mauritius", "毛里求斯"),
    BJ("229", "0.6", "Benin", "贝宁"),
    TG("228", "0.239", "Togo", "多哥"),
    NE("227", "0.528", "Niger", "尼日尔"),
    BF("226", "0.506", "Burkina Faso", ""),
    CI("225", "0.562", "Ivory Coast", "象牙海岸"),
    GN("224", "0.606", "Guinea", "几内亚"),
    ML("223", "1.322", "Mali", "马里"),
    MR("222", "0.549", "Mauritania", "毛里塔尼亚"),
    SN("221", "0.75", "Senegal", "塞内加尔"),
    GM("220", "0.27", "Gambia", "冈比亚"),
    LY("218", "0.782", "Libya", "利比亚"),
    TN("216", "0.861", "Tunisia", "突尼斯"),
    DZ("213", "1.136", "Algeria", "阿尔及利亚"),
    MA("212", "0.734", "Morocco", "摩洛哥"),
    SSD("211", "0.2", "The Republic of South Sudan", "南苏丹"),
    IR("98", "1.056", "Iran", "伊朗"),
    MM("95", "1.2", "Myanmar", "缅甸"),
    LK("94", "1.321", "Sri Lanka", "斯里兰卡"),
    AF("93", "0.762", "Afghanistan", "阿富汗"),
    PK("92", "1.045", "Pakistan", "巴基斯坦"),
    IN("91", "0.32", "India", "印度"),
    TR("90", "0.08", "Turkey", "土耳其"),
    CN("86", "0.045", "China", "中国"),
    VN("84", "0.74", "Vietnam", "越南"),
    KR("82", "0.185", "South Korea", "韩国"),
    JP("81", "0.514", "Japan", "日本"),
    TH("66", "0.131", "Thailand", "泰国"),
    SG("65", "0.261", "Singapore", "新加坡"),
    NZ("64", "0.6", "New Zealand", "新西兰"),
    PH("63", "0.98", "Philippines", "菲律宾"),
    ID("62", "1.01", "Indonesia", "印度尼西亚"),
    AU("61", "0.3", "Australia", "澳大利亚"),
    MY("60", "0.5", "Malaysia", "马来西亚"),
    VE("58", "0.318", "Venezuela", "委内瑞拉"),
    CO("57", "0.28", "Colombia", "哥伦比亚"),
    CL("56", "0.576", "Chile", "智利"),
    BR("55", "0.114", "Brazil", "巴西"),
    AR("54", "0.49", "Argentina", "阿根廷"),
    CU("53", "0.504", "Cuba", "古巴"),
    MX("52", "0.08", "Mexico", "墨西哥"),
    PE("51", "0.346", "Peru", "秘鲁"),
    DE("49", "0.595", "Germany", "德国"),
    PL("48", "0.15", "Poland", "波兰"),
    NO("47", "0.538", "Norway", "挪威"),
    SE("46", "0.667", "Sweden", "瑞典"),
    DK("45", "0.365", "Denmark", "丹麦"),
    GB("44", "0.28", "United Kingdom", "英国"),
    AT("43", "0.66", "Austria", "奥地利"),
    CH("41", "0.488", "Switzerland", "瑞士"),
    RO("40", "0.51", "Romania", "罗马尼亚"),
    IT("39", "0.565", "Italy", "意大利"),
    HU("36", "0.821", "Hungary", "匈牙利"),
    ES("34", "0.35", "Spain", "西班牙"),
    FR("33", "0.532", "France", "法国"),
    BE("32", "0.566", "Belgium", "比利时"),
    NL("31", "0.7", "Netherlands", "荷兰"),
    GR("30", "0.601", "Greece", "希腊"),
    ZA("27", "0.219", "South Africa", "南非"),
    EG("20", "0.8", "Egypt", "埃及"),
    RU("7", "1.02", "Russia", "俄罗斯"),
    US("1", "0.053", "United States", "美国"),
    DEFAULT("-1", "0.5", "默认费用", "默认费用");

    /**
     * 国家代码简写
     */
    private final String il;

    /**
     * 费用
     */
    private final String cost;

    /**
     * 国家名称(en)
     */
    private final String nationNameEn;

    /**
     * 国家名称(zh)
     */
    private final String nationNameZh;

    public static PhoneCostEnum getCountryCopeMap(String code) {
        String countryCode = String.valueOf(Integer.valueOf(code));
        for (PhoneCostEnum value : PhoneCostEnum.values()) {
            if (value.getIl().equals(countryCode)) {
                return value;
            }
        }
        return DEFAULT;
    }
}
